Field of the Invention
The present invention relates to a resource management apparatus, a resource management method, an image forming apparatus and a program for managing a usage amount of a resource that an application uses in an execution environment in which a plurality of embedded applications, for example, are installed and executed.
Description of the Related Art
In an embedded application execution environment, typically there is a restriction on a total amount of resources that an application can use, and it depends on a resource amount of an information device. Thus, by defining an upper-limit value for a resource amount used by an application, and confirming that a usage amount of a resource of the application does not exceed the upper-limit value in an inspection stage of the application, stable operation of the application is ensured. In addition, in an embedded application execution environment that assumes that a plurality of such applications are caused to operate, an application management framework is present. The application management framework controls permission or prohibition of an installation such that the total amount of a resource amount used by an application does not exceed a resource amount of the information device. This kind of resource management apparatus and resource management method, which arrange a restriction to the number of applications that can be installed in accordance with a resource amount, are commonly provided.
In contrast, a technique that does not restrict installation of an application, but performs control of a usage amount of a resource when an application is operating has been provided (for example, refer to Japanese Patent Laid-Open No. 2007-323393). In this technique, a state in which applications are in contention is detected, and by controlling them, resource contention among a plurality of applications is controlled. In such a case, because there are restrictions on a resource amount of an information processing apparatus or a resource amount of a system, if an application has requested a resource for which a restriction is exceeded, the application cannot secure the resource immediately and processing proceeds in error, or the application waits for the release of a resource that has been secured by another application.
As a result, the application cannot continue normal operation, and processing by the application is delayed, leading to the occurrence of a phenomenon such as a response of a user interface that is operated by a user becoming sluggish, or delay of a job execution occurring, for example. A delay of processing related to a user operation may lead a loss in the reliability of an entire system. In other words, from the viewpoint of usability, and the like, there are applications for which preferential operation is necessary. Even with such an application, there is a problem in that the operation waits due to a resource deficiency as previously described.